#ifndef BIT_UTILITY_H_
#define BIT_UTILITY_H_

typedef char Byte;
typedef char BitIndex;

void TurnBitOn(Byte& byteArgument, BitIndex bitToSet);
void TurnBitOff(Byte& byteArgument, BitIndex bitToSet);
void SetBit(Byte& byteArgument, BitIndex bitToSet, bool bValue);
bool TestBit(Byte byteArgument, BitIndex bitToTest);
void ToggleBit(Byte& byteArgument, BitIndex bitToSet);
char GetNumberOfBitsOn(Byte byteArgument);
char GetNumberOfBitsOff(Byte byteArgument);

void SetAllBits(Byte& byteArgument, bool bValue);
void ToggleAllBits(Byte& byteArgument);

#endif // BIT_UTILITY_H_